home *** CD-ROM | disk | FTP | other *** search
Text File | 1980-02-20 | 34.7 KB | 2,036 lines |
- opt c-
-
- Section "OffSpring-ChipRamCode",Code_c
-
- FallSpeed = 1
- MoveSpeed = 1
-
- Start Movem.l d0-d7/a0-a6,-(a7)
- Move.l a7,InitialSP
- Jsr KillOS
- Move.l #0,TimeFrame
- Jsr SetBitPlanes
- Jsr SetMouse
- ; Jsr DoCopperShade
- Reset Jsr SetVars
- Move.l #0,TimeFrame
- Jsr BlitMap
- Move.w #$ffff,$Dff02e
- Jsr MainLoop
-
- Btst #2,$Dff016
- Beq Reset
-
- Jsr HelpOS
- Move.l InitialSP,a7
- Movem.l (a7)+,d0-d7/a0-a6
- Move.l #0,d0
- Rts
-
- KillOS
- Move.w #$ffff,d0
- SysPause Move.w d0,$Dff182
- Dbf d0,SysPause
- Move.l $4,a6
- Moveq #0,d0
- Lea GFXLib(PC),a1
- Jsr -552(a6) _LVOOpenLibrary
- Move.l d0,GFXBase
- Jsr -132(a6) _LVOForbid
- Jsr -150(a6) _LVOSuperState
- Move.l d0,SYSStack
- Move.w $Dff01C,IntEnSave
- Move.w $Dff01E,IntRqSave
- Move.w $Dff002,DMASave
- Move.w $Dff010,ADKSave
- Bset #1,$Bfe001
- Move.w #%0111111111111111,$Dff096
- Move.l #Newcopper,$Dff080
- Clr.w $Dff088
-
- Move.w #%1000011111000000,$Dff096
-
- Rts
-
- DoCopPokeABCD Move.w #3,d1
- Bra PokeLoop
-
- DoCopPokeAD Move.w #1,d1
-
- PokeLoop Move.l #ShitBuffer,d0
- Move.w d0,4(a0)
- Swap d0
- Move.w d0,(a0)
- Swap d0
- Add.l #8,a0
- Dbf d1,PokeLoop
- Rts
-
- SetVars Move.w #0,DiagX
- Move.w #0,BlokeXPos
- Move.w #192,BlokeYPos
- Move.w #0,NastyXPos
- Move.w #0,NastyYPos
-
- Lea CBlokeA,a0
- Bsr DoCopPokeABCD
-
- Lea CNastyA,a0
- Bsr DoCopPokeABCD
-
- Lea CGoodTable,a1
- Move.w #15,d7
- ResetCGood Move.l (a1)+,a0
- Bsr DoCopPokeABCD
- Dbf d7,ResetCGood
-
- Lea CGoodRecTable,a1
- Move.w #15,d7
- ResetCGoodRec Move.l (a1)+,a0
- Bsr DoCopPokeAD
- Dbf d7,ResetCGoodRec
-
- Lea GoodiesList,a0
- Move.w (a0)+,d7
- Sub.w #1,d7
-
- GoodySetter Bset #0,(a0)
- Add.l #8,a0
- Dbf d7,GoodySetter
- Rts
-
- MainLoop
- Move.w #%0000010000000000,$Dff096
-
- Jsr DoCBloke
- Jsr DoCNasty
-
- VblWait Cmpi.b #$90,$Dff006
- Bne VblWait
-
- Add.b #1,TimeFrame
- Cmpi.b #50,TimeFrame
- Bne NotSecYet
- Move.b #0,TimeFrame
- Add.b #1,TimeSecs
- Cmpi.b #60,TimeSecs
- Bne NotSecYet
- Move.b #0,TimeSecs
- Add.b #1,TimeMins
- Cmpi.b #60,TimeMins
- Bne NotSecYet
- Move.b #0,TimeMins
- Add.b #1,TimeHour
-
- NotSecYet Move.w #$555,$Dff180
-
- Bsr CRecallBlokeMap
- Bsr CRecallNastyMap
- Bsr SetGoodies
-
- Move.w #%1000011111000000,$Dff096
-
- Bsr TrackStick
- Bsr KeyBoard
- Bsr BlokeCollDet
- Bsr BlokeCon
- Bsr BlokeWalk
-
- Bsr BlokeCollDet
- Bsr BlokeCon
- Bsr BlokeWalk
-
- Bsr NastyCollDet
- Bsr NastyCon
- Bsr NastyWalk
-
- Move.w #$000,$Dff180
-
- Btst #2,$Dff016
- Beq EndMainLoop
-
- Btst #6,$Bfe001
- Bne MainLoop
-
- EndMainLoop Rts
-
- SetBitPlanes Move.l #Piccy,d0
- Move.w d0,Pl0l
- Swap d0
- Move.w d0,Pl0h
- Swap d0
- add.l #40,d0
- Move.w d0,Pl1l
- Swap d0
- Move.w d0,Pl1h
- Swap d0
- add.l #40,d0
- Move.w d0,Pl2l
- Swap d0
- Move.w d0,Pl2h
- Swap d0
- add.l #40,d0
- Move.w d0,Pl3l
- Swap d0
- Move.w d0,Pl3h
- Swap d0
- add.l #40,d0
- Move.w d0,Pl4l
- Swap d0
- Move.w d0,Pl4h
- Rts
-
- BlitMap Lea HardWare,a6
- Move.l #DeadCopper,$Dff080
- Lea MapData,a5
- Lea Piccy,a4
- Move.w #28,d7
- DoYMap Move.l a4,a2
- Move.w #39,d6
- DoXMap Lea BloxData,a3
- Move.w (a5)+,d5
- And.l #$3fff,d5
- Moveq #0,d4
- Move.w d5,d4
- Move.l #40,d3
- Divs d3,d4
- Moveq #0,d0
- Moveq #0,d1
- Move.w d4,d3
- Swap d4
- Move.l #1600,d2
- Muls d3,d2
- Add.w d4,d2
- And.l #$ffff,d2
- Add.l d2,a3
- Move.l a2,a1
-
- Bsr DoMapBlit
-
- NoBlox Add.l #1,a2
- Dbf d6,DoXMap
-
- Add.l #1600,a4
- Dbf d7,DoYMap
-
- Bsr BlitterWait
-
- Move.l #$ffffffff,Bltafwm(a6)
- Move.l #PiccyBack,Bltdpth(a6)
- Move.w #0,Bltdmod(a6)
- Move.l #Piccy,Bltapth(a6)
- Move.w #0,Bltamod(a6)
- Move.w #$09f0,Bltcon0(a6)
- Move.w #$0000,Bltcon1(a6)
-
- Move.w #4,d7
- Mapcopy Bsr Blitterwait
- Move.w #231*64+20,BltSize(a6)
- Dbf d7,MapCopy
-
- Bsr Blitterwait
-
- Move.l #NewCopper,$Dff080
-
- Rts
-
- DoMapBlit Lea HardWare,a6
-
- Bsr BlitterWait
-
- Move.l a1,Bltdpth(a6)
- Move.l a1,Bltcpth(a6)
- Move.w #36,Bltdmod(a6)
- Move.w #36,Bltcmod(a6)
- Move.l #000,Bltapth(a6)
- Move.l a3,Bltbpth(a6)
- Move.w #36,Bltamod(a6)
- Move.w #36,Bltbmod(a6)
- Move.w #$0000,Bltcon1(a6)
- Move.l a1,d0
- Move.l a3,d1
- Btst #0,d0
- Bne Shift1
- Move.l #$ff000000,Bltafwm(a6)
- Btst #0,d1
- Beq Shift2
- Shift3 Move.w #$8002,Bltcon1(a6)
- Add.l #1600,a1
- Add.l #1600,a3
- Move.l a1,Bltdpth(a6)
- Move.l a1,Bltcpth(a6)
- Move.l a3,Bltbpth(a6)
-
- Move.w #$ffff,Bltadat(a6)
- Move.w #$07ca,Bltcon0(a6)
- Move.w #((8*5)+1)*64+2,Bltsize(a6)
- Rts
- Shift1 Move.l #$00ff0000,Bltafwm(a6)
- Btst #0,d1
- Bne Shift2
- Move.w #$8000,Bltcon1(a6)
- Shift2 ;Move.w #$ffff,Bltadat(a6)
- Move.w #$07ca,Bltcon0(a6)
- Move.w #(8*5)*64+2,Bltsize(a6)
- Noblit Rts
-
- DoCBloke Lea HardWare,a6
- Bsr ProcBlokePos
- Bsr DoBlokeFrame
- Move.l #BlokeData,a0
- Move.l #BlokeMask,a1
-
- Add.l d0,a0
- Add.l d0,a1
-
- Bsr DoPosCalc
- Move.l a0,d1
- Move.l a1,d2
- Move.l #Piccy,d3
- Add.l d0,d3
-
- Lea CBlokeA,a0
- Move.w d2,4(a0)
- Swap d2
- Move.w d2,(a0)
-
- Move.w d1,12(a0)
- Swap d1
- Move.w d1,8(a0)
-
- Move.w d3,20(a0)
- Move.w d3,28(a0)
- Swap d3
- Move.w d3,16(a0)
- Move.w d3,24(a0)
-
- Lea CBlokeCon,a0
- Move.w d4,4(a0)
- Or.w #$fca,d4
- Move.w d4,(a0)
-
- Rts
-
- DoCNasty Lea HardWare,a6
- Bsr ProcNastyPos
- Bsr DoNastyFrame
- Move.l #NastyData,a0
- Move.l #NastyMask,a1
-
- Add.l d0,a0
- Add.l d0,a1
-
- Bsr DoPosCalc
- Move.l a0,d1
- Move.l a1,d2
- Move.l #Piccy,d3
- Add.l d0,d3
-
- Lea CNastyA,a0
- Move.w d2,4(a0)
- Swap d2
- Move.w d2,(a0)
-
- Move.w d1,12(a0)
- Swap d1
- Move.w d1,8(a0)
-
- Move.w d3,20(a0)
- Move.w d3,28(a0)
- Swap d3
- Move.w d3,16(a0)
- Move.w d3,24(a0)
-
- Lea CNastyCon,a0
- Move.w d4,4(a0)
- Or.w #$fca,d4
- Move.w d4,(a0)
-
- Rts
-
- BlokeWalk Btst #1,JumpFlag
- Bne NoWalkFrames
-
- Btst #0,CollFlag1
- Bne NoWalkFrames
- Btst #1,CollFlag1
- Bne NoWalkFrames
-
- Move.b WalkCounter,d0
- Btst #0,JumpFlag
- Bne DoJumpFrames
- Btst #5,MoveFlag
- Beq NotNewFrame
- Btst #0,JumpFlag
- Beq NoJumpFrame
-
- DoJumpFrames Move.w JumpDown,d3
- Move.b JumpFlag1,d4
- Cmp.b d3,d4
- Ble JumpUpFrame
- Move.w #5,d1
- Bra NotEndFrame
- JumpUpFrame Move.w #4,d1
- Bra NotEndFrame
-
- NoJumpFrame Move.b WalkSpeed,d1
- Add.b #1,d0
- Cmp.b d0,d1
- Bne NotNewFrame
-
- Move.b #0,d0
- Move.b WalkFrame,d1
- Add.b #1,d1
- Cmpi.b #4,d1
- Beq EndFrame
- Cmpi.b #5,d1
- Beq EndFrame
- Cmpi.b #6,d1
- Beq EndFrame
- Bra NotEndFrame
-
- EndFrame Move.b #0,d1
-
- NotEndFrame Move.b d1,WalkFrame
- NotNewFrame Move.b d0,WalkCounter
- NoWalkFrames Rts
-
- NastyWalk Btst #1,JumpFlagN
- Bne NoWalkFramesN
-
- Btst #0,CollFlag1N
- Bne NoWalkFramesN
- Btst #1,CollFlag1N
- Bne NoWalkFramesN
-
- Move.b WalkCounterN,d0
- Btst #0,JumpFlagN
- Bne DoJumpFramesN
- Btst #5,MoveFlagN
- Beq NotNewFrameN
- Btst #0,JumpFlagN
- Beq NoJumpFrameN
-
- DoJumpFramesN Move.w JumpDownN,d3
- Move.b JumpFlag1N,d4
- Cmp.b d3,d4
- Ble JumpUpFrameN
- Move.w #5,d1
- Bra NotEndFrameN
- JumpUpFrameN Move.w #4,d1
- Bra NotEndFrameN
-
- NoJumpFrameN Move.b WalkSpeedN,d1
- Add.b #1,d0
- Cmp.b d0,d1
- Bne NotNewFrameN
-
- Move.b #0,d0
- Move.b WalkFrameN,d1
- Add.b #1,d1
- Cmpi.b #4,d1
- Beq EndFrameN
- Cmpi.b #5,d1
- Beq EndFrameN
- Cmpi.b #6,d1
- Beq EndFrameN
- Bra NotEndFrameN
-
- EndFrameN Move.b #0,d1
-
- NotEndFrameN Move.b d1,WalkFrameN
- NotNewFrameN Move.b d0,WalkCounterN
- NoWalkFramesN Rts
-
- CRecallNastyMap Bsr ProcNastyPos
- Lea CNastyRecA,a0
- Bra DoCRecallPoke
-
- CRecallBlokeMap Bsr ProcBlokePos
- Lea CBlokeRecA,a0
-
- DoCRecallPoke Bsr DoPosCalc
- Move.l #Piccy,d2
- Move.l #PiccyBack,d1
- Add.l d0,d2
- Add.l d0,d1
-
- DoCBlitPoke Move.w d1,4(a0)
- Swap d1
- Move.w d1,(a0)
-
- Move.w d2,12(a0)
- Swap d2
- Move.w d2,8(a0)
- Rts
-
- DoBlokeFrame Moveq #0,d0
- Moveq #0,d1
-
- Move.b WalkFrame,d1
- Move.l #1920,d0
- Muls d1,d0
-
- Btst #0,DireFlag
- Bne RightFrame
- Add.w #6,d0
-
- RightFrame Rts
-
- DoNastyFrame Moveq #0,d0
- Moveq #0,d1
-
- Move.b WalkFrameN,d1
- Move.l #1920,d0
- Muls d1,d0
-
- Btst #0,DireFlagN
- Bne RightFrameN
- Add.w #6,d0
-
- RightFrameN Rts
-
- ProcBlokePos Moveq #0,d5
- Moveq #0,d6
- Move.w BlokeXPos,d5
- Move.w BlokeYPos,d6
- Move.w #288,d3
- Move.w #200,d4
- Bsr DoProc
- Move.w BlokeFrame,d7
- Move.w d5,BlokeXpos
- Move.w d6,BlokeYpos
- Rts
-
- ProcNastyPos Moveq #0,d5
- Moveq #0,d6
- Move.w NastyXPos,d5
- Move.w NastyYPos,d6
- Move.w #288,d3
- Move.w #200,d4
- Bsr DoProc
- Move.w NastyFrame,d7
- Move.w d5,NastyXpos
- Move.w d6,NastyYpos
- Rts
-
- ProcGoodyPos Moveq #0,d5
- Moveq #0,d6
- Move.w GoodyXPos,d5
- Move.w GoodyYPos,d6
- Move.w #303,d3
- Move.w #208,d4
- Bsr DoProc
- Move.w d5,GoodyXpos
- Move.w d6,GoodyYpos
- Rts
-
- DoProc Tst.w d5
- Bpl NoClearD5
- Clr.w d5
-
- NoClearD5 Tst.w d6
- Bpl NoClearD6
- Clr.w d6
-
- NoClearD6 Cmp.w d3,d5
- Ble ObjXnover
- Move.w d3,d5
-
- ObjXnover Cmp.w d4,d6
- Ble ObjYnover
- Move.w d4,d6
-
- ObjYnover Rts
-
- DoPosCalc Moveq #0,d0
- Move.l #200,d4
- Muls d6,d4
- Add.l d4,d0
- Move.w d5,d4
- Asr.w #3,d5
- Bclr #0,d5
- Add.l d5,d0
- And.w #$f,d4
- Move.w d4,d3
- Asl.w #8,d4
- Asl.w #4,d4
- Rts
-
- BlitterWait Btst #6,DmaConr(A6)
- Bne BlitterWait
- Rts
-
- TrackMouse Move.w $Dff00a,d0
- Move.b OldX,d1
- Move.b d0,OldX
- Sub.b d0,d1
- Ext.w d1
- Sub.w d1,NastyXPos
-
- Lsr.w #8,d0
- Move.b OldY,d1
- Move.b d0,OldY
- Sub.b d0,d1
- Ext.w d1
- Sub.w d1,NastyYPos
- Rts
-
- SetMouse Move.w $Dff00a,d0
- Move.b d0,OldX
- Lsr.w #8,d0
- Move.b d0,Oldy
- Rts
-
- BlokeCon Move.b MoveFlag,d0
- Move.b CollFlag,d1
- Move.b JumpFlag,d2
- Move.b CollFlag1,d3
- Btst #0,d2
- Bne JoyAction
- Btst #2,d1
- Bne OnFloor
- Btst #2,d3
- Bne OnFloor
- FreeFall Add.w #FallSpeed,BlokeYPos
- Move.b #5,WalkFrame
- Bset #1,JumpFlag
- Bra FloorTest
-
- OnFloor Bclr #1,JumpFlag
- FloorTest Btst #5,d0
- Bne JoyAction
- Rts
-
- JoyAction Btst #0,d0
- Beq NoMoveRight
- Btst #0,d3
- Bne NoMoveRight
- Btst #0,d2
- Bne BypassRColl
- Btst #0,d1
- Bne NoMoveRight
- BypassRColl Add.w #MoveSpeed,BlokeXPos
- Bset #0,DireFlag
-
- NoMoveRight Btst #1,d0
- Beq NoMoveLeft
- Btst #1,d3
- Bne NoMoveLeft
- Btst #0,d2
- Bne BypassLColl
- Btst #1,d1
- Bne NoMoveLeft
- BypassLColl Sub.w #MoveSpeed,BlokeXPos
- Bclr #0,DireFlag
-
- NoMoveLeft Btst #3,d0
- Beq NoJumpUp
- Btst #0,d2
- Bne NoJumpUp
- Btst #2,d1
- Bne JumpUp
- Btst #2,d3
- Bne JumpUp
- Bra NoJumpUp
-
- JumpUp Bset #0,JumpFlag
- Move.b #0,JumpFlag1
-
- NoJumpup And.b #$f,d0
- Move.b d0,MoveFlag1
-
- Btst #0,d2
- Bne Jumping
- Rts
-
- Jumping Move.w JumpDown,d0
- Move.b JumpFlag1,d1
- Cmp.b d0,d1
- Ble JumpingUp
-
- Btst #2,CollFlag
- Beq JumpingUpA
- Bra JumpingUpB
-
- JumpingUpA Btst #2,CollFlag1
- Beq JumpingUp
-
- Btst #4,CollFlag1
- Bne JumpingUp
-
- JumpingUpB Btst #3,CollFlag
- Beq EndJump
-
- Btst #3,CollFlag1
- Bne EndJump
-
- JumpingUp Lea JumpSpeed,a0
- Moveq #0,d0
- Move.b JumpFlag1,d0
- Add.b #1,d0
- Move.w JumpFrames,d1
- Cmp.b d0,d1
- Beq EndJump
- Move.b d0,JumpFlag1
- Asl.w #1,d0
- Add.l d0,a0
- Move.w (a0),d1
- Add.w d1,BlokeYPos
- Rts
-
- EndJump Bclr #0,JumpFlag
- Move.b #0,WalkFrame
- Btst #2,CollFlag
- Bne NoFreeFall
- Btst #2,CollFlag1
- Bne NoFreeFall
- Move.b #5,WalkFrame
- Bset #1,JumpFlag
- Add.w #1,BlokeYPos
-
- NoFreeFall Rts
-
- NastyCon Move.b MoveFlagN,d0
- Move.b CollFlagN,d1
- Move.b JumpFlagN,d2
- Move.b CollFlag1N,d3
- Btst #0,d2
- Bne JoyActionN
- Btst #2,d1
- Bne OnFloorN
- Btst #2,d3
- Bne OnFloorN
- FreeFallN Add.w #1,NastyYPos
- Move.b #5,WalkFrameN
- Bset #1,JumpFlagN
- Bra FloorTestN
-
- OnFloorN Bclr #1,JumpFlagN
- FloorTestN Btst #5,d0
- Bne JoyActionN
- Rts
-
- JoyActionN Btst #0,d0
- Beq NoMoveRightN
- Btst #0,d3
- Bne NoMoveRightN
- Btst #0,d2
- Bne BypassRCollN
- Btst #0,d1
- Bne NoMoveRightN
- BypassRCollN Add.w #1,NastyXPos
- Bset #0,DireFlagN
-
- NoMoveRightN Btst #1,d0
- Beq NoMoveLeftN
- Btst #1,d3
- Bne NoMoveLeftN
- Btst #0,d2
- Bne BypassLCollN
- Btst #1,d1
- Bne NoMoveLeftN
- BypassLCollN Sub.w #1,NastyXPos
- Bclr #0,DireFlagN
-
- NoMoveLeftN Btst #3,d0
- Beq NoJumpUpN
- Btst #0,d2
- Bne NoJumpUpN
- Btst #2,d1
- Bne JumpUpN
- Btst #2,d3
- Bne JumpUpN
- Bra NoJumpUpN
-
- JumpUpN Bset #0,JumpFlagN
- Move.b #0,JumpFlag1N
-
- NoJumpupN And.b #$f,d0
- Move.b d0,MoveFlag1N
-
- Btst #0,d2
- Bne JumpingN
- Rts
-
- JumpingN Move.w JumpDownN,d0
- Move.b JumpFlag1N,d1
- Cmp.b d0,d1
- Ble JumpingUpN
-
- Btst #2,CollFlagN
- Beq JumpingUpAN
- Bra JumpingUpBN
-
- JumpingUpAN Btst #2,CollFlag1N
- Beq JumpingUpN
-
- Btst #4,CollFlag1N
- Bne JumpingUpN
-
- JumpingUpBN Btst #3,CollFlagN
- Beq EndJumpN
-
- Btst #3,CollFlag1N
- Bne EndJumpN
-
- JumpingUpN Lea JumpSpeedN,a0
- Moveq #0,d0
- Move.b JumpFlag1N,d0
- Add.b #1,d0
- Move.w JumpFramesN,d1
- Cmp.b d0,d1
- Beq EndJumpN
- Move.b d0,JumpFlag1N
- Asl.w #1,d0
- Add.l d0,a0
- Move.w (a0),d1
- Add.w d1,NastyYPos
- Rts
-
- EndJumpN Bclr #0,JumpFlagN
- Move.b #0,WalkFrameN
- Btst #2,CollFlagN
- Bne NoFreeFallN
- Btst #2,CollFlag1N
- Bne NoFreeFallN
- Move.b #5,WalkFrameN
- Bset #1,JumpFlagN
- Add.w #1,NastyYPos
-
- NoFreeFallN Rts
-
- BlokeCollDet Lea MapData,a1
- Move.w BlokeXPos,d6
- Move.w BlokeYPos,d7
-
- Move.b #$00,CollFlag
- Move.b #$00,CollFlag1
-
- Bclr #7,DireFlag
- Bra DoCollTests
-
- NastyCollDet Lea MapData,a1
- Move.w NastyXPos,d6
- Move.w NastyYPos,d7
-
- Move.b #$00,CollFlagN
- Move.b #$00,CollFlag1N
-
- Bset #7,DireFlag
-
- DoCollTests Move.w #22,d4
- Move.w #29,d5
- Moveq #0,d3
- Bsr DoCollDet
-
- Move.w #10,d4
- Move.w #29,d5
- Move.w #1,d3
- Bsr DoCollDet
-
- Move.w #16,d4
- Move.w #32,d5
- Move.w #2,d3
- Bsr DoCollDet
-
- Move.w #16,d4
- Move.w #31,d5
- Move.w #3,d3
- Bsr DoCollDet
-
- Move.w #16,d4
- Move.w #30,d5
- Move.w #4,d3
- Bsr DoCollDet
-
- Rts
-
- DoCollDet Move.w d6,d0
- Move.w d7,d1
- Add.w d4,d0
- Add.w d5,d1
- Move.l a1,a0
- Asr.w #3,d0
- Asr.w #3,d1
- Moveq #0,d4
- Move.l #40,d2
- Muls d1,d2
- Move.w d2,d4
- Add.w d0,d4
- Asl.l #1,d4
- Add.l d4,a0
- Move.b (a0),d0
- Btst #7,d0
- Beq NoCollisA
- Btst #7,DireFlag
- Bne DoNastyCSet
- Bset d3,CollFlag
- Bra NoCollisA
- DoNastyCSet Bset d3,CollFlagN
- NoCollisA Btst #6,d0
- Beq NoCollisB
- Btst #7,DireFlag
- Bne DoNastyCSet1
- Bset d3,CollFlag1
- Bra NoCollisB
- DoNastyCSet1 Bset d3,CollFlag1N
- NoCollisB Rts
-
- TrackStick Lea MoveFlag,a5
- Lea HardWare+Joy1Dat,a0
- Bra TestJoy
-
- TrackStickN Lea MoveFlagN,a5
- Lea HardWare+Joy0Dat,a0
-
- TestJoy And.w #%11000000,(a5)
- Move.w (a0),d0
- Btst #1,d0
- Beq JoyLeft
-
- GoRight Bset #0,(a5)
- Bset #5,(a5)
-
- JoyLeft Btst #9,d0
- Beq JoyDown
-
- GoLeft Bset #1,(a5)
- Bset #5,(a5)
-
- JoyDown Move.w d0,d1
- Lsr.w #1,d1
- Eor.w d0,d1
- Btst #0,d1
- Beq JoyUp
-
- GoDown ;Bset #2,(a5)
- ;Bset #5,(a5)
-
- JoyUp Btst #$8,d1
- Beq JoyFire
-
- GoUp Bset #3,(a5)
- Bset #5,(a5)
-
- JoyFire Btst #7,$Bfe001
- Bne NoJoyFire
-
- GoFire Bset #4,(a5)
- Bset #5,(a5)
-
- NoJoyFire Rts
-
- KeyBoard Lea MoveFlagN,a5
- Lea $Bfec01,a0
- Lea $Bfee01,a1
-
- TestBoard Moveq #0,d0
- Move.b (a0),d0
- Not.b d0
- Ror.b #1,d0
- Move.b d0,d1
-
- Bset #6,(a1)
- Move.b #0,(a0)
- Nop
- Move.b #$ff,(a0)
- Nop
- Bclr #6,(a1)
-
- Bclr #7,d0
-
- Cmpi.b #$19,d0
- Bne NoKeyRight
-
- Btst #7,d1
- Beq DRight
- Bclr #0,(a5)
- ;Bclr #5,(a5)
- Bra NoKeyLeft
-
- DRight Bset #0,(a5)
- ;Bset #5,(a5)
- Bra NoKeyLeft
-
- NoKeyRight Cmpi.b #$18,d0
- Bne NoKeyLeft
-
- Btst #7,d1
- Beq DLeft
- Bclr #1,(a5)
- ;Bclr #5,(a5)
- Bra NoKeyLeft
-
- Dleft Bset #1,(a5)
- ;Bset #5,(a5)
-
- NoKeyLeft Cmpi.b #$20,d0
- Bne NoKeyDown
-
- ;Bset #2,(a5)
- ;Bset #5,(a5)
- Bra NoKeyDown
-
- NoKeyDown Cmpi.b #$10,d0
- Bne NoKeyUp
-
- Btst #7,d1
- Beq DUp
- Bclr #3,(a5)
- ;Bclr #5,(a5)
- Bra NoKeyUp
-
- DUp Bset #3,(a5)
- ;Bset #5,(a5)
-
- NoKeyUp Cmpi.b #$38,d0
- Bne NoKeyFire
-
- Bset #4,(a5)
- ;Bset #5,(a5)
-
- NokeyFire Move.b (a5),d0
- And.b #$0f,d0
- Cmpi.b #0,d0
- Bne Movement
- Bclr #5,(a5)
- Bra DoneKeys
- Movement Bset #5,(a5)
-
- DoneKeys Rts
-
- SetGoodies Lea GoodiesList,a0
- Move.w #0,GoodNumber
- Move.w (a0)+,d7
-
- GoodySetLoop Moveq #0,d0
- Moveq #0,d1
- Move.b (a0),d0
- Move.b 1(a0),d1
- Btst #0,d0
- Beq GoodNoMore
-
- Move.b 6(a0),d4
- Move.b 7(a0),d5
-
- Move.b TimeMins,d6
- Cmp.b d4,d6
- Bne GoodNoMore
-
- Move.b TimeSecs,d6
- Cmp.b d5,d6
- Bne GoodNoMore
-
- Btst #7,(a0)
- ; Bne GoodNoMore
-
- Bsr DoTheGood
-
- GoodNoMore Add.w #1,GoodNumber
- Add.l #8,a0
- Dbf d7,GoodySetLoop
- Rts
-
- DoTheGood Moveq #0,d0
- Bset #7,(a0)
- Move.w GoodNumber,d0
- Add.w #1,GoodPlace
- Move.w GoodPlace,d5
- Move.w GoodiesList,d6
- Cmp.b d5,d6
- Beq NoMoreCGoods
-
- Lea CGoodTable,a1
- Lea CGoodRecTable,a2
- Asl.w #2,d0
- Add.l d0,a1
- Add.l d0,a2
- Move.l (a1),a1
- Move.l (a2),a2
-
- Lea GoodyData,a3
- Lea GoodyMask,a4
- Asl.w #1,d1
- Add.l d1,a3
- Add.l d1,a4
-
- Lea Piccy,a5
- Lea PiccyBack,a6
-
- Move.w 2(a0),d3
- Move.w 4(a0),d4
-
- Asl.w #1,d3
- Move.l #$c8,d2
- Muls d4,d2
- Add.w d3,d2
- Add.l d2,a5
- Add.l d2,a6
-
- Move.l a4,d0
- Move.w d0,4(a1)
- Swap d0
- Move.w d0,(a1)
- Add.l #8,a1
-
- Move.l a3,d0
- Move.w d0,4(a1)
- Swap d0
- Move.w d0,(a1)
- Add.l #8,a1
-
- Move.l a5,d0
- Move.w d0,4(a1)
- Swap d0
- Move.w d0,(a1)
- Add.l #8,a1
-
- Move.l a5,d0
- Move.w d0,4(a1)
- Swap d0
- Move.w d0,(a1)
- Add.l #8,a1
-
- Move.l a6,d0
- Move.w d0,4(a2)
- Swap d0
- Move.w d0,(a2)
- Add.l #8,a2
-
- Move.l a5,d0
- Move.w d0,4(a2)
- Swap d0
- Move.w d0,0(a2)
-
- NoMoreCGoods Rts
-
- Timer Move.l #0,d6
-
- Move.w #1,FontXPos
- Move.w #1,FontYPos
-
- Move.w #"T",FontChar
- Bsr DoFontBlit
- Add.w #1,FontXPos
- Move.w #"I",FontChar
- Bsr DoFontBlit
- Add.w #1,FontXPos
- Move.w #"M",FontChar
- Bsr DoFontBlit
- Add.w #1,FontXPos
- Move.w #"E",FontChar
- Bsr DoFontBlit
- Add.w #1,FontXPos
-
- Move.b TimeMins,d6
- Bsr DoTens
- Add.w #1,FontXPos
-
- Move.w #":",FontChar
- Bsr DoFontBlit
- Add.w #1,FontXPos
-
- Move.b TimeSecs,d6
- Bra DoTens
-
- DiagNostix Move.l #0,d6
- Move.b DiagVal,d6
-
- Move.w #0,FontXPos
- Move.w #0,FontYPos
-
- Move.l #10000,d1
- Bsr DoDiagDivs
- Add.w #1,FontXPos
- DoThousands Move.l #1000,d1
- Bsr DoDiagDivs
- Add.w #1,FontXPos
- DoHundreds Move.l #100,d1
- Bsr DoDiagDivs
- Add.w #1,FontXPos
- DoTens Move.l #10,d1
- Bsr DoDiagDivs
- Add.w #1,FontXPos
- DoUnits Move.l #1,d1
- Bsr DoDiagDivs
-
- Rts
-
- DoDiagDivs Divs d1,d6
- Move.w d6,FontChar
- And.w #$f,FontChar
- Add.w #48,FontChar
-
- Bsr DoFontBlit
-
- Move.w #0,d6
- Swap d6
- Rts
-
- DoFontBlit Move.l #0,d0
- Move.l #0,d1
- Move.l #0,d2
-
- Lea FontData,a0
- Move.w FontChar,d0
- Move.w FontXPos,d1
- Move.w FontYPos,d2
- Move.l #0,d3
-
- Asl.w #1,d1
- Add.l d1,d3
- Move.l #3200,d1
- Muls d2,d1
- Add.l d1,d3
-
- Sub.w #32,d0
- Move.l #2,d1
- Muls d0,d1
- Add.l d1,a0
-
- Lea Piccy,a1
- Add.l d3,a1
- Bsr ActualFontBlit
- Lea PiccyBack,a1
- Add.l d3,a1
- Bra ActualFontBlit
-
- ActualFontBlit Lea Hardware,a6
- Bsr BlitterWait
- Move.l #$ffffffff,Bltafwm(a6)
- Move.l a0,Bltapth(a6)
- Move.l a1,Bltdpth(a6)
- Move.w #118,Bltamod(a6)
- Move.w #38,Bltdmod(a6)
- Move.w #$09f0,Bltcon0(a6)
- Move.w #$0000,Bltcon1(a6)
- Move.w #(16*5)*64+1,BltSize(a6)
-
- Rts
-
- Helpos
- Move.w IntEnSave,d7
- Bset #$F,d7
- Move.w d7,$Dff09A
- Move.w IntRqSave,d7
- Bset #$F,d7
- Move.w d7,$Dff09C
- Move.w DMASave,d7
- Bset #$F,d7
- Move.w d7,$Dff096
- Move.w #$F,$Dff096
- Move.w ADKSave,d7
- Bset #$F,d7
- Move.w d7,$Dff09E
- Move.l GFXBase,a0
- Move.l $26(a0),$Dff080
- Move.l $4,a6
- Jsr -138(a6) _LVOPermit
- Move.l SYSStack,d0
- Jsr -156(a6) _LVOUserState
- Rts
-
- DoCopperShade Lea CopperShade,a0
- Move.w #229,d7
- Move.w #$32,d6
- Move.w #$fff,d1
- Move.w #$00f,d2
- Move.w #0,d3
-
- DoShade Move.b d6,(a0)
- Add.l #6,a0
-
- Move.w d2,d0
- Add.w #1,d3
- Cmpi.b #16,d3
- Bne NoColChange
- Sub.w #$001,d2
- Sub.w #$110,d1
- Move.w #0,d3
- NoColChange And.w #$fff,d0
- Move.w d0,(a0)
- Add.l #4,a0
-
- Move.w #4,d5
- Move.w d1,d0
-
- DoColour Bsr Darken
- Bsr Darken
- And.w #$fff,d0
- Move.w d0,(a0)
- Add.l #4,a0
- Dbf d5,DoColour
- Add.l #2,a0
-
- Add.w #1,d6
- Dbf d7,DoShade
-
- Lea CopperShade,a0
- Move.w #$30,d0
- Move.w #229,d1
- CopperWaitLoop Add.w #1,d0
- Move.b d0,(a0)
- Cmpi.w #$100,d0
- Bne PalCopper
- Move.w #$ffe1,(a0)
- Move.w #0,d0
-
- PalCopper Add.l #32,a0
- Dbf d1,CopperWaitLoop
-
- Rts
-
- Darken Move.w d0,d4
- And.w #$f,d4
- Cmpi.b #0,d4
- Beq NoDecBlue
- Sub.w #$1,d0
- NoDecBlue Move.w d0,d4
- Asr.w #4,d4
- And.w #$f,d4
- Cmpi.b #0,d4
- Beq NoDecGreen
- Sub.w #$10,d0
- NoDecGreen Move.w d0,d4
- Asr.w #8,d4
- And.w #$f,d4
- Cmpi.b #0,d4
- Beq NoDecRed
- Sub.w #$100,d0
- NoDecRed Rts
-
- Interrupts
- Movem.l d0-d7/a0-a6,-(a7)
- Movem.l (a7)+,d0-d7/a0-a6
- Move.w #$2000,$Dff09c
- Rte
-
- ; System Variables
-
- SYSStack Dc.l 0
- GFXBase Dc.l 0
- InitialSP Dc.l 0
- OldInterrupts Dc.l 0
- IntEnSave Dc.w 0
- IntRqSave Dc.w 0
- DMASave Dc.w 0
- ADKSave Dc.w 0
- GFXLib Dc.b 'graphics.library',0
- Even
-
- ; Program Variables
-
- BlokeXPos Dc.w 0
- BlokeYPos Dc.w 0
- BlokeFrame Dc.w 0
- NastyXPos Dc.w 0
- NastyYPos Dc.w 0
- NastyFrame Dc.w 0
- GoodyXPos Dc.w 0
- GoodyYPos Dc.w 0
- GoodyFrame Dc.w 0
- ScoreXPos Dc.w 0
- ScoreYPos Dc.w 0
- ScoreFrame Dc.w 0
- OldX Dc.w 0
- OldY Dc.w 0
- MoveFlag Dc.b 0
- MoveFlag1 Dc.b 0
- JumpFlag Dc.b 0
- JumpFlag1 Dc.b 0
- CollFlag Dc.b 0
- CollFlag1 Dc.b 0
- DireFlag Dc.b 0
- WalkFrame Dc.b 0
- WalkSpeed Dc.b 4
- WalkCounter Dc.b 0
-
- MoveFlagN Dc.b 0
- MoveFlag1N Dc.b 0
- JumpFlagN Dc.b 0
- JumpFlag1N Dc.b 0
- CollFlagN Dc.b 0
- CollFlag1N Dc.b 0
- DireFlagN Dc.b 0
- WalkFrameN Dc.b 0
- WalkSpeedN Dc.b 6
- WalkCounterN Dc.b 0
-
- TimeFrame Dc.b 0
- TimeSecs Dc.b 0
- TimeMins Dc.b 0
- TimeHour Dc.b 0
-
- FontAdd Dc.l 0
- FontChar Dc.w 0
- FontXPos Dc.w 0
- FontYPos Dc.w 0
-
- DiagVal Dc.w 47
- DiagReg Dc.w 12
- DiagX Dc.w 0
-
- JumpFrames Dc.w 79
- JumpDown Dc.w 39
-
- JumpSpeed Dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1
- Dc.w 0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
-
- JumpFramesN Dc.w 79
- JumpDownN Dc.w 39
-
- JumpSpeedN Dc.w -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,-1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,0,-1
- Dc.w 0,0,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
-
- GoodiesList Dc.w 10
-
- Dc.b 0,000,0,001,0,208,0,003
- Dc.b 0,001,0,002,0,208,0,004
- Dc.b 0,002,0,003,0,208,0,005
- Dc.b 0,003,0,004,0,208,0,006
- Dc.b 0,004,0,005,0,208,0,007
- Dc.b 0,005,0,006,0,208,0,008
- Dc.b 0,006,0,007,0,208,0,009
- Dc.b 0,007,0,008,0,208,0,010
- Dc.b 0,008,0,001,0,192,0,011
- Dc.b 0,009,0,002,0,192,0,012
- Dc.b 0,010,0,003,0,192,0,013
- Dc.b 0,011,0,004,0,192,0,014
- Dc.b 0,012,0,005,0,192,0,015
- Dc.b 0,013,0,006,0,192,0,016
- Dc.b 0,014,0,007,0,192,0,017
- Dc.b 0,015,0,008,0,192,0,018
-
- GoodPlace Dc.w 0
- GoodNumber Dc.w 0
-
- CGoodRecTable Dc.l CGood1RecA,CGood2RecA,CGood3RecA,CGood4RecA
- Dc.l CGood5RecA,CGood6RecA,CGood7RecA,CGood8RecA
- Dc.l CGood9RecA,CGood10RecA,CGood1RecA,CGood2RecA
- Dc.l CGood3RecA,CGood4RecA,CGood5RecA,CGood6RecA
-
- CGoodTable Dc.l CGood1A,CGood2A,CGood3A,CGood4A
- Dc.l CGood5A,CGood6A,CGood7A,CGood8A
- Dc.l CGood9A,CGood10A,CGood1A,CGood2A
- Dc.l CGood3A,CGood4A,CGood5A,CGood6A
-
- Section "ChipStuff",Code_c
-
- Newcopper
- Dc.w $0001,$7ffe
- Dc.w $0044,$ffff,$0046,$ffff
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CBlokeRecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CBlokeRecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0022,$0066,$0022
- Dc.w $0058,(34*5)*64+3
-
- Dc.w $0401,$7ffe
- Dc.w $0044,$ffff,$0046,$ffff
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CNastyRecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CNastyRecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0022,$0066,$0022
- Dc.w $0058,(34*5)*64+3
-
- Dc.w $0801,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood1RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood1RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $0a01,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood2RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood2RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $0c01,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood3RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood3RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $0e01,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood4RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood4RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $1001,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood5RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood5RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $1201,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood6RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood6RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $1401,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood7RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood7RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $1601,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood8RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood8RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $1801,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood9RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood9RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $1a01,$7ffe
- Dc.w $0040,$09f0,$0042,$0000
- Dc.w $0050
- CGood10RecA Dc.w $0002,$0052,$2340
- Dc.w $0054
- CGood10RecD Dc.w $0002,$0056,$2340
- Dc.w $0064,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $2001,$7ffe
- Dc.w $0044,$ffff,$0046,$ffff
- Dc.w $0040
- CNastyCon Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CNastyA Dc.w $000f,$0052,$0000
- Dc.w $004c
- CNastyB Dc.w $000f,$004e,$0000
- Dc.w $0048
- CNastyC Dc.w $000f,$004a,$0000
- Dc.w $0054
- CNastyD Dc.w $000f,$0056,$0000
- Dc.w $0062,$0006,$0064,$0006
- Dc.w $0060,$0022,$0066,$0022
- Dc.w $0058,(32*5)*64+3
-
- Dc.w $2c01,$7ffe
- Dc.w $0044,$ffff,$0046,$ffff
- Dc.w $0040
- CBlokeCon Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CBlokeA Dc.w $000f,$0052,$0000
- Dc.w $004c
- CBlokeB Dc.w $000f,$004e,$0000
- Dc.w $0048
- CBlokeC Dc.w $000f,$004a,$0000
- Dc.w $0054
- CBlokeD Dc.w $000f,$0056,$0000
- Dc.w $0062,$0006,$0064,$0006
- Dc.w $0060,$0022,$0066,$0022
- Dc.w $0058,(32*5)*64+3
-
- Dc.w $0100,$200,$1f0,0,$0104,$000A
- Dc.w $0092,$0030,$0094,$00c8
- Dc.w $008E,$3069,$0090,$36bb
- Dc.w $120,0,$122,0,$142,0,$144,0,$146,0
- Dc.w $102,$00aa
- Dc.w $0108,$a0,$010A,$a0
- Dc.w $3001,$fffe
- Dc.w $00E0
- Pl0h Dc.w $0000
- Dc.w $00E2
- Pl0l Dc.w $0000
- Dc.w $00E4
- Pl1h Dc.w $0000
- Dc.w $00E6
- Pl1l Dc.w $0000
- Dc.w $00E8
- Pl2h Dc.w $0000
- Dc.w $00Ea
- Pl2l Dc.w $0000
- Dc.w $00Ec
- Pl3h Dc.w $0000
- Dc.w $00Ee
- Pl3l Dc.w $0000
- Dc.w $00f0
- Pl4h Dc.w $0000
- Dc.w $00f2
- Pl4l Dc.w $0000
-
- Dc.w $3101,$fffe,$100,$5200
-
- Dc.w $01f0,$0111,$0182,$0ccc,$0184,$0888,$0186,$0444
- Dc.w $0188,$0111,$018a,$00f0,$018c,$00c0,$018e,$07f5
- Dc.w $0190,$06b4,$0192,$0683,$01a2,$0fff,$01a4,$0fbb,$01a6,$0c57
- Dc.w $01a8,$0a07,$01aa,$0dbf,$01ac,$0a5f,$01ae,$0729
- Dc.w $01b0,$0ff0,$01b2,$0fb0,$01b4,$0f60,$01b6,$0f20
- Dc.w $01b8,$049f,$01ba,$034f,$01bc,$023b,$01be,$0850
-
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $3601,$7ffe
- Dc.w $0040
- CGood1Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood1A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood1B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood1C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood1D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- CopShade1 Dc.w $3801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $3901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $3a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $4201,$7ffe
- Dc.w $0040
- CGood2Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood2A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood2B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood2C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood2D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- CopShade2 Dc.w $4801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $4901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $4a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $4e01,$7ffe
- Dc.w $0040
- CGood3Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood3A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood3B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood3C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood3D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $5601,$7ffe
- Dc.w $0040
- CGood4Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood4A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood4B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood4C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood4D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- CopShade3 Dc.w $5801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $5901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $5a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $5e01,$7ffe
- Dc.w $0040
- CGood5Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood5A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood5B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood5C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood5D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $6601,$7ffe
- Dc.w $0040
- CGood6Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood6A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood6B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood6C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood6D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- CopShade4 Dc.w $6801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $6901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $6a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $6e01,$7ffe
- Dc.w $0040
- CGood7Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood7A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood7B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood7C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood7D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $7601,$7ffe
- Dc.w $0040
- CGood8Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood8A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood8B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood8C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood8D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- CopShade5 Dc.w $7801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $7901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $7a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $7e01,$7ffe
- Dc.w $0040
- CGood9Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood9A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood9B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood9C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood9D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- Dc.w $8601,$7ffe
- Dc.w $0040
- CGood10Con Dc.w $0fca,$0042,$0000
- Dc.w $0050
- CGood10A Dc.w $000f,$0052,$0000
- Dc.w $004c
- CGood10B Dc.w $000f,$004e,$0000
- Dc.w $0048
- CGood10C Dc.w $000f,$004a,$0000
- Dc.w $0054
- CGood10D Dc.w $000f,$0056,$0000
- Dc.w $0062,$0026,$0064,$0026
- Dc.w $0060,$0026,$0066,$0026
- Dc.w $0058,(16*5)*64+1
-
- CopShade6 Dc.w $8801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $8901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $8a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade7 Dc.w $9801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $9901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $9a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade8 Dc.w $a801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $a901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $aa01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade9 Dc.w $b801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $b901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $ba01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade10 Dc.w $c801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $c901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $ca01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade11 Dc.w $d801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $d901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $da01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade12 Dc.w $e801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $e901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $ea01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- CopShade13 Dc.w $f801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $f901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $fa01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $ffe1,$fffe
-
- CopShade14 Dc.w $0801,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $0901,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
- Dc.w $0a01,$fffe
- Dc.w $194,$666,$196,$555,$198,$444,$19a,$333,$19c,$222,$19e,$111,$1a0,$111
-
- Dc.w $1901,$fffe
-
- Dc.w $100,$200
-
- Ints Dc.w $009C,$0000
- Dc.w $ffff,$fffe
-
- DeadCopper Dc.w $100,$200,$1f0,0,$ffff,$fffe
-
- CopperShade Dc.l 0
-
- MapData Incbin Df0:OffLevel1.Data
-
- BloxData Incbin Df0:Offblox.Raw
-
- BlokeData Incbin Df0:Temp-Bloke.Raw
- BlokeMask Incbin Df0:Temp-Bloke.Mask
-
- NastyData Incbin Df0:OffBad1.Raw
- NastyMask Incbin Df0:OffBad1.Mask
-
- GoodyData Incbin Df0:OffGoodies.Raw
- GoodyMask Incbin Df0:OffGoodies.Mask
-
- ScoresData Incbin Df0:OffScores.Raw
- ScoresMask Incbin Df0:OffScores.Mask
-
- FontData Incbin Df0:Retro-Font.Raw
-
- Piccy Ds.b (40*5*233)
- ShitBuffer Ds.b (40*5*33)
- PiccyBack Ds.b (40*5*233)
-
- ***** Custom chipbase offset table *****
-
- ;General registers
-
- Dmaconr = $002
- Vposr = $004
- Vhposr = $006
- Joy0dat = $00A
- Joy1dat = $00C
- Intenar = $01C
- Intereqr = $01E
- CopCon = $02E
-
- ;Blitter registers
-
- Bltcon0 = $040
- Bltcon1 = $042
- Bltafwm = $044
- Bltalwm = $046
- Bltcpth = $048
- Bltcptl = $04A
- Bltbpth = $04C
- Bltbptl = $04E
- Bltapth = $050
- Bltaptl = $052
- Bltdpth = $054
- Bltdptl = $056
- Bltsize = $058
- Bltcmod = $060
- Bltbmod = $062
- Bltamod = $064
- Bltdmod = $066
- Bltcdat = $070
- Bltbdat = $072
- Bltadat = $074
-
- ;Copper registers
-
- Cop1lc = $080
- Cop1lch = $080
- Cop1lcl = $082
- Cop2lc = $084
- Cop2lch = $084
- Cop2lcl = $086
- Copjmp1 = $088
- Copjmp2 = $08A
- Diwstrt = $08E
- Diwstop = $090
- Ddfstrt = $092
- Ddfstop = $094
- Dmacon = $096
- Intena = $09A
- Intreq = $09C
-
- ;Audio registers
-
- Adkcon = $09E
- Aud0lch = $0A0
- Aud0lcl = $0A2
- Aud0len = $0A4
- Aud0per = $0A6
- Aud0vol = $0A8
- Aud0dat = $0AA
- Aud1lch = $0B0
- Aud1lcl = $0B2
- Aud1len = $0B4
- Aud1per = $0B6
- Aud1vol = $0B8
- Aud1dat = $0BA
- Aud2lch = $0C0
- Aud2lcl = $0C2
- Aud2len = $0C4
- Aud2per = $0C6
- Aud2vol = $0C8
- Aud2dat = $0CA
- Aud3lch = $0D0
- Aud3lcl = $0D2
- Aud3len = $0D4
- Aud3per = $0D6
- Aud3vol = $0D8
- Aud3dat = $0DA
-
- Color00 = $180
- Color01 = $182
- Color02 = $184
- Color03 = $186
- Color04 = $188
- Color05 = $18A
- Color06 = $18C
- Color07 = $18E
- Color08 = $190
- Color09 = $192
- Color10 = $194
- Color11 = $196
- Color12 = $198
- Color13 = $19A
- Color14 = $19C
- Color15 = $19E
- Color16 = $1A0
- Color17 = $1A2
- Color18 = $1A4
- Color19 = $1A6
- Color20 = $1A8
- Color21 = $1AA
- Color22 = $1AC
- Color23 = $1AE
- Color24 = $1B0
- Color25 = $1B2
- Color26 = $1B4
- Color27 = $1B6
- Color28 = $1B8
- Color29 = $1BA
- Color30 = $1BC
- Color31 = $1BE
-
- Bpl1pth = $0E0
- Bpl1ptl = $0E2
- Bpl2pth = $0E4
- Bpl2ptl = $0E6
- Bpl3pth = $0E8
- Bpl3ptl = $0EA
- Bpl4pth = $0EC
- Bpl4ptl = $0EE
- Bpl5pth = $0F0
- Bpl5ptl = $0F2
- Bpl6pth = $0F4
- Bpl6ptl = $0F6
- Bplcon0 = $100
- Bplcon1 = $102
- Bplcon2 = $104
- Bpl1mod = $108
- Bpl2mod = $10A
-
- HardWare = $dff000
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-